package org.domain.acount.session;

import org.domain.acount.entity.*;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.framework.EntityQuery;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

@Name("usuarioList")
public class UsuarioList extends EntityQuery<Usuario> {
	
	@In EntityManager entityManager;

	private static final String EJBQL = "select usuario from Usuario usuario";

	private static final String[] RESTRICTIONS = {
			"lower(usuario.nome) like lower(concat(#{usuarioList.usuario.nome},'%'))",
			"lower(usuario.username) like lower(concat(#{usuarioList.usuario.username},'%'))",
			"lower(usuario.email) like lower(concat(#{usuarioList.usuario.email},'%'))",
			"lower(usuario.senha) like lower(concat(#{usuarioList.usuario.senha},'%'))", };

	private Usuario usuario = new Usuario();

	public UsuarioList() {
		setEjbql(EJBQL);
		setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
		setMaxResults(25);
	}
	

	public Usuario getUsuario() {
		return usuario;
	}
}
